<template>
  <div>
    <h2>学生姓名：{{ name }}</h2>
    <h2>学生年龄：{{ age }}</h2>
    <button @click="add">点击年龄加1</button>
    <button @click="sendStudentName">把学生给App</button>
    <button @click="unbind">解绑atguigu事件</button>
    <button @click="death">销毁vc</button>
  </div>
</template>

<script>
export default {
  name: "Student",
  data() {
    return {
      name: "张三",
      age: 18,
    };
  },
  methods: {
    add() {
      console.log("add回调被调用了");
      this.age++;
    },
    sendStudentName() {
      //触发Student组件实例对象上的atguigu事件
      this.$emit("atguigu", function (data) {
        console.log(data);
      });
      this.$emit("demo");
    },
    unbind() {
      //解绑一个自定义事件
      this.$off("atguigu");
      //解绑多个自定义事件
      // this.$off(["atguigu", "demo"]);
      //解绑所有的自定义事件
      // this.$off();
    },
    death() {
      //销毁了当前Student组件的实例，销毁后所有Student实例的自定义事件全都不奏效
      this.$destroy();
    },
  },
};
</script>

